home *** CD-ROM | disk | FTP | other *** search
/ Champak 52 / Volume 52 - JOGO DISK .iso / Games / scoobybigair.swf / scripts / __Packages / ScroobyGravity.as next >
Text File  |  2007-10-01  |  6KB  |  174 lines

  1. class ScroobyGravity
  2. {
  3.    var MaxSpeed = 295;
  4.    function ScroobyGravity()
  5.    {
  6.    }
  7.    function InitializeVars(_me, _Arc)
  8.    {
  9.       var _loc1_ = _me;
  10.       var _loc2_ = _Arc;
  11.       _loc1_.speed = 0;
  12.       _loc1_.Falling = 0;
  13.       _loc1_.RampeRayon = _loc2_._width / 2;
  14.       _loc1_.PointColsX = _loc2_._x + _loc1_.RampeRayon;
  15.       _loc1_.PointColsY = _loc2_._y + _loc1_.RampeRayon;
  16.       _loc1_.InAir = false;
  17.       this.checkHPass = true;
  18.       _loc1_.PoolLimit = _loc1_.RampeRayon - _loc1_._height / 2;
  19.    }
  20.    function Gravity(_me)
  21.    {
  22.       var _loc1_ = _me;
  23.       var _loc2_ = this;
  24.       var _loc3_ = _global;
  25.       if(_loc1_._y >= _loc1_.PointColsY)
  26.       {
  27.          _loc2_.DistanceX = Math.abs(_loc1_._x - _loc1_.PointColsX);
  28.          _loc2_.DistanceY = Math.abs(_loc1_._y - _loc1_.PointColsY);
  29.          _loc2_.Distance = _loc2_.DistanceX + _loc2_.DistanceY;
  30.          if(_loc2_.Distance >= _loc1_.PoolLimit)
  31.          {
  32.             if(_loc1_.Falling != 0)
  33.             {
  34.                _loc1_.InAir = false;
  35.                _loc1_.myEtat = "landing";
  36.                _loc1_.goto("landing");
  37.                var demiCount = true;
  38.                if(_loc1_._x > _loc1_.PointColsX)
  39.                {
  40.                   _loc1_.speed = - _loc1_.Falling;
  41.                }
  42.                else
  43.                {
  44.                   _loc1_.speed = _loc1_.Falling;
  45.                }
  46.                _loc1_.Falling = 0;
  47.             }
  48.             else
  49.             {
  50.                var demiCount = false;
  51.             }
  52.             if(demiCount == false)
  53.             {
  54.                if(_loc1_.speed > 0)
  55.                {
  56.                   if(_loc1_._x < _loc1_.PointColsX)
  57.                   {
  58.                      _loc1_.speed += _loc3_.SMeter * 2 - 0.4;
  59.                   }
  60.                   else
  61.                   {
  62.                      _loc1_.speed -= _loc3_.GravityPower + 0.2;
  63.                   }
  64.                }
  65.                else if(_loc1_.speed < 0)
  66.                {
  67.                   if(_loc1_._x > _loc1_.PointColsX)
  68.                   {
  69.                      _loc1_.speed -= _loc3_.SMeter * 2 - 0.4;
  70.                   }
  71.                   else
  72.                   {
  73.                      _loc1_.speed += _loc3_.GravityPower + 0.2;
  74.                   }
  75.                }
  76.             }
  77.             if(_loc1_._x > _loc1_.PointColsX + _loc1_.PoolLimit - 5 or _loc1_._x < _loc1_.PointColsX - _loc1_.PoolLimit + 5)
  78.             {
  79.                _loc1_._x += _loc1_.speed / 5;
  80.             }
  81.             else if(_loc1_._x > _loc1_.PointColsX + _loc1_.PoolLimit - 18 or _loc1_._x < _loc1_.PointColsX - _loc1_.PoolLimit + 18)
  82.             {
  83.                _loc1_._x += _loc1_.speed / 3;
  84.             }
  85.             else if(_loc1_._x > _loc1_.PointColsX + _loc1_.PoolLimit - 30 or _loc1_._x < _loc1_.PointColsX - _loc1_.PoolLimit + 30)
  86.             {
  87.                _loc1_._x += _loc1_.speed / 2;
  88.             }
  89.             else if(_loc1_._x > _loc1_.PointColsX + _loc1_.PoolLimit - 60 or _loc1_._x < _loc1_.PointColsX - _loc1_.PoolLimit + 60)
  90.             {
  91.                _loc1_._x += _loc1_.speed / 1.5;
  92.             }
  93.             else
  94.             {
  95.                _loc1_._x += _loc1_.speed / 1.1;
  96.             }
  97.             if(Math.abs(_loc1_._x - _loc1_.PointColsX) > _loc1_.PoolLimit)
  98.             {
  99.                if(_loc1_._x > _loc1_.PointColsX)
  100.                {
  101.                   _loc1_._x = _loc1_.PointColsX + _loc1_.PoolLimit;
  102.                }
  103.                else
  104.                {
  105.                   _loc1_._x = _loc1_.PointColsX - _loc1_.PoolLimit;
  106.                }
  107.                if(_loc1_.myEtat != "jumping")
  108.                {
  109.                   _loc1_.myEtat = "jumping";
  110.                   _loc1_.goto("jumping");
  111.                }
  112.                _loc1_.Falling -= Math.abs(_loc1_.speed) / _loc3_.GravityPower;
  113.                _loc1_.speed = 0;
  114.                _loc1_.Falling -= _loc3_.GravityPower;
  115.                _loc1_._y = _loc1_.PointColsY - 1;
  116.                _loc1_.InAir = true;
  117.             }
  118.             else
  119.             {
  120.                _loc2_.DistanceX = Math.abs(_loc1_._x - _loc1_.PointColsX);
  121.                _loc1_._y = _loc1_.PointColsY + Math.sqrt(_loc1_.PoolLimit * _loc1_.PoolLimit - _loc2_.DistanceX * _loc2_.DistanceX);
  122.             }
  123.          }
  124.          else
  125.          {
  126.             if(_loc1_.Falling < _loc2_.MaxSpeed)
  127.             {
  128.                _loc1_.Falling += _loc3_.GravityPower;
  129.             }
  130.             _loc1_._y += _loc1_.Falling;
  131.          }
  132.       }
  133.       else
  134.       {
  135.          if(_loc1_.Falling < _loc2_.MaxSpeed)
  136.          {
  137.             _loc1_.Falling += _loc3_.GravityPower;
  138.          }
  139.          if(_loc1_.Falling > 0)
  140.          {
  141.             if(_loc2_.checkHPass == false)
  142.             {
  143.                _loc3_.indicator.checkHeight(_loc1_._y);
  144.                _loc2_.checkHPass = true;
  145.             }
  146.             if(_loc3_.animClose == true)
  147.             {
  148.                if(_loc1_.myEtat != "downfast" && _loc1_.myEtat != "downDownhill")
  149.                {
  150.                   _loc1_.myEtat = "downfast";
  151.                   _loc1_.goto("downfast");
  152.                }
  153.             }
  154.          }
  155.          else if(_loc1_.Falling < -7)
  156.          {
  157.             if(_loc1_.myEtat != "upfast" && _loc1_.myEtat != "trick")
  158.             {
  159.                _loc1_.myEtat = "upfast";
  160.                _loc1_.goto("upfast");
  161.             }
  162.          }
  163.          else if(_loc1_.myEtat != "upswitch")
  164.          {
  165.             _loc2_.checkHPass = false;
  166.             _loc3_.animClose = false;
  167.             _loc1_.myEtat = "upswitch";
  168.             _loc1_.goto("upswitch");
  169.          }
  170.          _loc1_._y += _loc1_.Falling;
  171.       }
  172.    }
  173. }
  174.